package com.springBoot.springBootSysCore.modules.services.system;

import com.springBoot.springBootSysCore.common.service.IBaseService;
import com.springBoot.springBootSysCore.common.utils.returnUtil.ResultJsonFormat;
import com.springBoot.springBootSysCore.modules.entity.system.SysResource;
import com.springBoot.springBootSysCore.modules.vo.TreeNodeVo;

import java.util.List;
import java.util.Map;

/**
 * Created by timo on 2017/11/7.
 */
public interface SysResourceService  extends IBaseService<SysResource, String> {

    /**
     * 获取角色所有资源(zTree)
     * @param roleId 角色Id  用于勾选其有的资源(可为null)
     * @return
     */
    public List<TreeNodeVo> findTreeRes(String roleId);
    /**
     * 获取所有资源
     * @param resourceId(过滤其子节点的资源Id,在选择资源父节点时会用到),可为null
     * @return
     */
    public  List<TreeNodeVo> findTreeResOfRes(String resourceId);

    Object ztreeDataNoUrl(String extId);

    Object layuiMenu();
    /**
     * 根据id删除资源
     * @author PSC
     * @param asList
     * @return
     */
    public Map<String, Object> deleteResource(List<String> asList);
    /**
     * 修改及保存
     * @author PSC
     * @param SysResource
     * @return
     */
    public Map<String, Object> saveResource(SysResource SysResource);
    /**
     * 获取用户的菜单树
     * @param keyCode 特殊code值，表示从某一个code值得菜单开始-如：xx系统的后台管理系统菜单的code
     * @return
     */
    public List<TreeNodeVo> findMenuTree(String keyCode) ;
    /**
     * 初始化时保存菜单---要保证父级先保存
     * @param list
     */
    public void initSaveList(List<SysResource> list);


}
